package com.chuangjiangx.member.basic.dao.model;

import java.math.BigDecimal;
import java.util.Date;

public class InMbrAccount {
    private Long id;

    private Long memberId;

    private Long availableScore;

    private Long totalScore;

    private BigDecimal availableBalance;

    private BigDecimal totalRechargeBalance;

    private BigDecimal totalGiveBalance;

    private Date createTime;

    private Date updateTime;

    private Integer totalConsumeCount;

    private Date lastConsumeTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public Long getAvailableScore() {
        return availableScore;
    }

    public void setAvailableScore(Long availableScore) {
        this.availableScore = availableScore;
    }

    public Long getTotalScore() {
        return totalScore;
    }

    public void setTotalScore(Long totalScore) {
        this.totalScore = totalScore;
    }

    public BigDecimal getAvailableBalance() {
        return availableBalance;
    }

    public void setAvailableBalance(BigDecimal availableBalance) {
        this.availableBalance = availableBalance;
    }

    public BigDecimal getTotalRechargeBalance() {
        return totalRechargeBalance;
    }

    public void setTotalRechargeBalance(BigDecimal totalRechargeBalance) {
        this.totalRechargeBalance = totalRechargeBalance;
    }

    public BigDecimal getTotalGiveBalance() {
        return totalGiveBalance;
    }

    public void setTotalGiveBalance(BigDecimal totalGiveBalance) {
        this.totalGiveBalance = totalGiveBalance;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getTotalConsumeCount() {
        return totalConsumeCount;
    }

    public void setTotalConsumeCount(Integer totalConsumeCount) {
        this.totalConsumeCount = totalConsumeCount;
    }

    public Date getLastConsumeTime() {
        return lastConsumeTime;
    }

    public void setLastConsumeTime(Date lastConsumeTime) {
        this.lastConsumeTime = lastConsumeTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", memberId=").append(memberId);
        sb.append(", availableScore=").append(availableScore);
        sb.append(", totalScore=").append(totalScore);
        sb.append(", availableBalance=").append(availableBalance);
        sb.append(", totalRechargeBalance=").append(totalRechargeBalance);
        sb.append(", totalGiveBalance=").append(totalGiveBalance);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", totalConsumeCount=").append(totalConsumeCount);
        sb.append(", lastConsumeTime=").append(lastConsumeTime);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        InMbrAccount other = (InMbrAccount) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getMemberId() == null ? other.getMemberId() == null : this.getMemberId().equals(other.getMemberId()))
            && (this.getAvailableScore() == null ? other.getAvailableScore() == null : this.getAvailableScore().equals(other.getAvailableScore()))
            && (this.getTotalScore() == null ? other.getTotalScore() == null : this.getTotalScore().equals(other.getTotalScore()))
            && (this.getAvailableBalance() == null ? other.getAvailableBalance() == null : this.getAvailableBalance().equals(other.getAvailableBalance()))
            && (this.getTotalRechargeBalance() == null ? other.getTotalRechargeBalance() == null : this.getTotalRechargeBalance().equals(other.getTotalRechargeBalance()))
            && (this.getTotalGiveBalance() == null ? other.getTotalGiveBalance() == null : this.getTotalGiveBalance().equals(other.getTotalGiveBalance()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getTotalConsumeCount() == null ? other.getTotalConsumeCount() == null : this.getTotalConsumeCount().equals(other.getTotalConsumeCount()))
            && (this.getLastConsumeTime() == null ? other.getLastConsumeTime() == null : this.getLastConsumeTime().equals(other.getLastConsumeTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getMemberId() == null) ? 0 : getMemberId().hashCode());
        result = prime * result + ((getAvailableScore() == null) ? 0 : getAvailableScore().hashCode());
        result = prime * result + ((getTotalScore() == null) ? 0 : getTotalScore().hashCode());
        result = prime * result + ((getAvailableBalance() == null) ? 0 : getAvailableBalance().hashCode());
        result = prime * result + ((getTotalRechargeBalance() == null) ? 0 : getTotalRechargeBalance().hashCode());
        result = prime * result + ((getTotalGiveBalance() == null) ? 0 : getTotalGiveBalance().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getTotalConsumeCount() == null) ? 0 : getTotalConsumeCount().hashCode());
        result = prime * result + ((getLastConsumeTime() == null) ? 0 : getLastConsumeTime().hashCode());
        return result;
    }
}